Repository navigation
Conversation
automation/plugins/<name>.md is one machine with its scripts, lib, endpoints, crons and migrations; a flow is a plugin with no machine, in automation/plugins/flows/. The plugin system (plugin, plugin_share, plugin_offer, plugin_request, notify) is the tracked kernel and no plugin can replace it. Each decree project (automation, automation-backup, host) records what is on in .decree/plugins.yml, written once from its plugins.exist.yml, and every ./existential.sh installs exactly that plus what it needs at the checkout's version, so a git pull reaches a running stack. The host `update` plugin pulls fast-forward only and re-runs on a schedule. Flows renamed where they clashed with a machine: comfy -> comfyui, newsletter -> weekly-newsletter, capture -> capture-stream, gmail -> gmail-inbox. `flow on` asks before turning on each service. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014q2vcj2MGfnCThazsgxgws
… slashes Docs: "The Pieces" is now Services, and "Build On It" is Plugins (docs/plugins/: the plugin reference, Writing a Plugin, and Over HTTP). Every relative docs link names its .md file: behind the host's trailing slash, ./writing-a-routine resolved to /docs/build-on-it/writing-a-routine, a 404. validate conventions now fails a link without it, and static/_redirects keeps the old addresses working. A worker is a machine whose host runs decree with the `worker` flow on. Its `reporting` plugin sends free disk space, installed decree machines and finished runs to Loki every 5 minutes, for Grafana's new Machines dashboard. With EXIST_CONTROLLER set it asks that controller where Loki is (http://<controller>:4480, served over the tailnet); blank, it is the controller. Loki's push port is served on the tailnet on 3100. Flows can belong to the host project (`project: host`). `auto-update` (git pull, ./existential.sh, docker compose up -d) is now an optional flow; nothing runs on the host by default. The first run offers Core, Controller, Worker or Nothing. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014q2vcj2MGfnCThazsgxgws
…bels OpenViking goes to the graveyard. qmd already searched the workspace for Claude Code and opencode; now pi uses it too: pi_configure registers qmd, firecrawl and playwright, and the shipped departments name qmd. note-connect needs the search flow instead of knowledgebase, and workspace-agent needs qmd. The knowledgebase flow, the openviking_index_dir machine, its backups, Caddy hostname and API key are gone, and so is the embedding model role it alone used (EXIST_MODEL_EMBED, _EMBED_DIM, EXIST_MODEL_URL_EMBED, bge-m3 in the tier table, ollama's embed pull). "Machine" now only means a decree machine; a computer is a host, in docs, code and messages. The Machines dashboard is Hosts (hosts.json), and CLAUDE.md says so. The docs' reading order (What It Is, Services, Flows, Plugins) no longer claims to be C4. The intro's diagram no longer says one machine, and the Services page points to controller and workers. Fixes: the Services page diagram failed to render (a "." inside a dotted arrow's label); test-ai-box-guide matched the old extension-less links. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014q2vcj2MGfnCThazsgxgws
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three commits that change how automations ship and how hosts report.
Every machine is a plugin that follows the repo (
02a013e)automation/plugins/<name>.mdholds one decree machine: its chart, scripts, lib, endpoints, crons and migrations. A flow is a plugin with no machine, inautomation/plugins/flows/.plugin,plugin_share,plugin_offer,plugin_request,notify) is tracked and installed everywhere; no plugin can replace it..decree/plugins.yml, written once from itsplugins.exist.yml. Every./existential.shinstalls exactly that, plus what itneeds:, at the checkout's version. Agit pullnow reaches a running stack.comfy→comfyui,newsletter→weekly-newsletter,capture→capture-stream,gmail→gmail-inbox.flow onasks before turning on each service a flow needs.Workers report every host to one Loki (
f7bffd3)host/.decree) has theworkerflow on. Every 5 minutes it reports free disk space, the installed decree machines and their runs to Loki, for Grafana's new Hosts dashboard.EXIST_CONTROLLERset, a worker asks that controller where Loki is (http://<controller>:4480, over the tailnet). With it blank, the host is the controller.auto-update(git pull,./existential.sh,docker compose up -devery 15 minutes) is now an optional flow. Nothing runs on the host by default.docs/plugins/). Every relative docs link names its.mdfile: on the live site,./writing-a-routineresolved to/docs/build-on-it/writing-a-routine, a 404.validate conventionsnow rejects a link without it, andstatic/_redirectskeeps the old URLs working.Retire OpenViking for qmd; "machine" means a decree machine (
d917713)note-connectneedssearch, andworkspace-agentneeds qmd. Gone with it: theknowledgebaseflow, the indexer, the backups, the API key, and the whole embedding model role (EXIST_MODEL_EMBED*,EXIST_MODEL_URL_EMBED, bge-m3)..inside a dotted arrow's label.For existing installs
plugins.ymlis written on the first run, and keeps what an install already had on.research/salesdepartment files copied intoworkspace/.decree/lib/departments/still nameopenviking. Change them toqmdby hand../existential.sh,docker compose up -d --remove-orphansremoves the OpenViking container.volumes/openviking_datais left for you to delete.127.0.0.1:43100:3100for workers to reach it, or./existential.sh reset.host/.decree/plugins.ymlalready exists keepsupdateon.Checks
validate conventions, the site build (no broken links or anchors, every Mermaid diagram parses), every unit suite that runs outside the adhoc container, the Mac bash 3.2 check, and the decree gate except itsai.shcomparison, which needs the realdecreebinary.test-templates,test-compose,test-validators, shellcheck, typecheck and e2e. CI covers these.🤖 Generated with Claude Code
https://claude.ai/code/session_014q2vcj2MGfnCThazsgxgws